#!/usr/bin/env python3
# fileencoding=utf-8

'''
显示它的参数所指向的文件是用什么程序执行的

2010年8月11日
'''

import sys
from charset import CJK_align

def report(i):
  try:
    with open(i, 'rb') as f:
      # 去掉 bytes 字符串表示前后的 b'\n
      l = str(f.readline())[2:-3].rstrip()
      if l.startswith('#!'):
        env = l.find('env')
        if env == -1:
          start = l.rfind('/')
        else:
          start = env + 3
        print(CJK_align(i, 30), l[start+1:])
      else:
        print(CJK_align(i, 30), "Shebang not found.", file=sys.stderr)
  except IOError as e:
    if e.errno == 21:
      print(CJK_align(i, 30), "Is a directory", file=sys.stderr)
    else:
      raise

if __name__ == '__main__':
  for i in sys.argv[1:]:
    report(i)

